ヘッダーをスキップ
Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド
リリース7.0
E05172-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

SYNCHRONOUS WRITETHROUGH(SWT)キャッシュ・グループ

SYNCHRONOUS WRITETHROUGH(SWT)キャッシュ・グループでは、TimesTenでキャッシュ・データを更新し、Oracleに伝播するというキャッシュ動作が実行されます。CREATE SYNCHRONOUS WRITETHROUGH CACHE GROUP文によってSWTキャッシュ・グループを作成した場合は、キャッシュ・グループの作成後にキャッシュ・グループの内容をOracle表から手動でロードします。SWTキャッシュ・グループの内容は、必要に応じて、手動でロード、アンロードまたはリフレッシュできます。

SWTキャッシュ・グループへの更新は、同期してコミットされます。アプリケーションでトランザクションをコミットすると、OracleでコミットされてからTimesTenでコミットされます。トランザクションがTimesTenでコミットされるまでアプリケーションはブロックされ、表の行でロックが保持されます。

Oracleトランザクションのコミットに失敗した場合、TimesTenトランザクションをロールバックする必要があります。Oracleトランザクションはコミットし、TimesTenトランザクションは失敗した場合、キャッシュ・グループのデータはOracleデータと同期しなくなります。この場合は、手動でキャッシュ・グループをOracleと再同期化する必要があります。これは、ttCachePropagateFlagSetプロシージャをコールして伝播を無効にしてから、TimesTenキャッシュ・グループにトランザクションを再度適用することによって実行できます。別の方法として、Oracleから再度データをロードする方法もあります。

図2.9 SYNCHRONOUS WRITETHROUGHキャッシュ・グループ

SWTキャッシュ・グループの使用の制限

SWTキャッシュ・グループを使用する場合は、次の制限が適用されます。

例: SWTキャッシュ・グループの作成

この例では、単一のOracle表VENDORに対して、VendorsというSYNCHRONOUS WRITETHROUGHキャッシュ・グループを作成します。SYNCHRONOUS WRITETHROUGHキャッシュ・グループ内のVENDOR表への更新は、自動的にOracleに伝播されます。

CREATE SYNCHRONOUS WRITETHROUGH CACHE GROUP Vendors

FROM

USER1.VENDOR (VendorID INTEGER NOT NULL,

       VendorName VARCHAR2(100) NOT NULL,

       ContactName VARCHAR2(100) NOT NULL,

       Phone VARCHAR2(15),

       Street VARCHAR2(100),

       City VARCHAR2(30),

       State VARCHAR2(30),

       Zip VARCHAR2(10),

       PRIMARY KEY(VendorID));